package com.ruoyi.program.domain;

import java.util.List;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 知识库对象 wx_exercise
 *
 * @author ruoyi
 * @date 2025-10-26
 */
public class WxExercise extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 习题id */
    private Long exerciseId;

    /** 属于的章节id */
    @Excel(name = "属于的章节id")
    private Long chapterId;

    /** 习题题目描述 */
    @Excel(name = "习题题目描述")
    private String questionName;

    /** 习题类型（1单选，2多选，3判断，4填空，5简答） */
    @Excel(name = "习题类型", readConverterExp = "1=单选，2多选，3判断，4填空，5简答")
    private Integer questionType;

    /** 题目选项 */
    @Excel(name = "题目选项")
    private String options;

    /** 题目答案 */
    @Excel(name = "题目答案")
    private String answer;

    /** 答案解析 */
    @Excel(name = "答案解析")
    private String analysis;

    /** 题目分值 */
    @Excel(name = "题目分值")
    private Long score;

    /** 排序顺序 */
    @Excel(name = "排序顺序")
    private Long sort;

    /** 创建人id */
    @Excel(name = "创建人id")
    private Long userId;

    /** 题目中图片 */
    @Excel(name = "题目中图片")
    private String questionImg;

    /** 状态（0正常，1停用） */
    @Excel(name = "状态", readConverterExp = "0=正常，1停用")
    private Integer state;

    /** 知识选项信息 */
    private List<WxOptionValue> wxOptionValueList;

    public void setExerciseId(Long exerciseId)
    {
        this.exerciseId = exerciseId;
    }

    public Long getExerciseId()
    {
        return exerciseId;
    }

    public void setChapterId(Long chapterId)
    {
        this.chapterId = chapterId;
    }

    public Long getChapterId()
    {
        return chapterId;
    }

    public void setQuestionName(String questionName)
    {
        this.questionName = questionName;
    }

    public String getQuestionName()
    {
        return questionName;
    }

    public void setQuestionType(Integer questionType)
    {
        this.questionType = questionType;
    }

    public Integer getQuestionType()
    {
        return questionType;
    }

    public void setOptions(String options)
    {
        this.options = options;
    }

    public String getOptions()
    {
        return options;
    }

    public void setAnswer(String answer)
    {
        this.answer = answer;
    }

    public String getAnswer()
    {
        return answer;
    }

    public void setAnalysis(String analysis)
    {
        this.analysis = analysis;
    }

    public String getAnalysis()
    {
        return analysis;
    }

    public void setScore(Long score)
    {
        this.score = score;
    }

    public Long getScore()
    {
        return score;
    }

    public void setSort(Long sort)
    {
        this.sort = sort;
    }

    public Long getSort()
    {
        return sort;
    }

    public void setUserId(Long userId)
    {
        this.userId = userId;
    }

    public Long getUserId()
    {
        return userId;
    }

    public void setQuestionImg(String questionImg)
    {
        this.questionImg = questionImg;
    }

    public String getQuestionImg()
    {
        return questionImg;
    }

    public void setState(Integer state)
    {
        this.state = state;
    }

    public Integer getState()
    {
        return state;
    }

    public List<WxOptionValue> getWxOptionValueList()
    {
        return wxOptionValueList;
    }

    public void setWxOptionValueList(List<WxOptionValue> wxOptionValueList)
    {
        this.wxOptionValueList = wxOptionValueList;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("exerciseId", getExerciseId())
                .append("chapterId", getChapterId())
                .append("questionName", getQuestionName())
                .append("questionType", getQuestionType())
                .append("options", getOptions())
                .append("answer", getAnswer())
                .append("analysis", getAnalysis())
                .append("score", getScore())
                .append("sort", getSort())
                .append("createTime", getCreateTime())
                .append("updateTime", getUpdateTime())
                .append("createBy", getCreateBy())
                .append("updateBy", getUpdateBy())
                .append("userId", getUserId())
                .append("questionImg", getQuestionImg())
                .append("state", getState())
                .append("wxOptionValueList", getWxOptionValueList())
                .toString();
    }
}
